home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / slarfb.z / slarfb
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. SSSSLLLLAAAARRRRFFFFBBBB((((3333FFFF))))                                                          SSSSLLLLAAAARRRRFFFFBBBB((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SLARFB - applie a real block reflector H or its transpose H' to a real m
  10.      by n matrix C, from either the left or the right
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE SLARFB( SIDE, TRANS, DIRECT, STOREV, M, N, K, V, LDV, T, LDT,
  14.                         C, LDC, WORK, LDWORK )
  15.  
  16.          CHARACTER      DIRECT, SIDE, STOREV, TRANS
  17.  
  18.          INTEGER        K, LDC, LDT, LDV, LDWORK, M, N
  19.  
  20.          REAL           C( LDC, * ), T( LDT, * ), V( LDV, * ), WORK( LDWORK, *
  21.                         )
  22.  
  23. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  24.      SLARFB applies a real block reflector H or its transpose H' to a real m
  25.      by n matrix C, from either the left or the right.
  26.  
  27.  
  28. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  29.      SIDE    (input) CHARACTER*1
  30.              = 'L': apply H or H' from the Left
  31.              = 'R': apply H or H' from the Right
  32.  
  33.      TRANS   (input) CHARACTER*1
  34.              = 'N': apply H (No transpose)
  35.              = 'T': apply H' (Transpose)
  36.  
  37.      DIRECT  (input) CHARACTER*1
  38.              Indicates how H is formed from a product of elementary reflectors
  39.              = 'F': H = H(1) H(2) . . . H(k) (Forward)
  40.              = 'B': H = H(k) . . . H(2) H(1) (Backward)
  41.  
  42.      STOREV  (input) CHARACTER*1
  43.              Indicates how the vectors which define the elementary reflectors
  44.              are stored:
  45.              = 'C': Columnwise
  46.              = 'R': Rowwise
  47.  
  48.      M       (input) INTEGER
  49.              The number of rows of the matrix C.
  50.  
  51.      N       (input) INTEGER
  52.              The number of columns of the matrix C.
  53.  
  54.      K       (input) INTEGER
  55.              The order of the matrix T (= the number of elementary reflectors
  56.              whose product defines the block reflector).
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSLLLLAAAARRRRFFFFBBBB((((3333FFFF))))                                                          SSSSLLLLAAAARRRRFFFFBBBB((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      V       (input) REAL array, dimension
  75.              (LDV,K) if STOREV = 'C' (LDV,M) if STOREV = 'R' and SIDE = 'L'
  76.              (LDV,N) if STOREV = 'R' and SIDE = 'R' The matrix V. See further
  77.              details.
  78.  
  79.      LDV     (input) INTEGER
  80.              The leading dimension of the array V.  If STOREV = 'C' and SIDE =
  81.              'L', LDV >= max(1,M); if STOREV = 'C' and SIDE = 'R', LDV >=
  82.              max(1,N); if STOREV = 'R', LDV >= K.
  83.  
  84.      T       (input) REAL array, dimension (LDT,K)
  85.              The triangular k by k matrix T in the representation of the block
  86.              reflector.
  87.  
  88.      LDT     (input) INTEGER
  89.              The leading dimension of the array T. LDT >= K.
  90.  
  91.      C       (input/output) REAL array, dimension (LDC,N)
  92.              On entry, the m by n matrix C.  On exit, C is overwritten by H*C
  93.              or H'*C or C*H or C*H'.
  94.  
  95.      LDC     (input) INTEGER
  96.              The leading dimension of the array C. LDA >= max(1,M).
  97.  
  98.      WORK    (workspace) REAL array, dimension (LDWORK,K)
  99.  
  100.      LDWORK  (input) INTEGER
  101.              The leading dimension of the array WORK.  If SIDE = 'L', LDWORK
  102.              >= max(1,N); if SIDE = 'R', LDWORK >= max(1,M).
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.